System for generating orthogonal control signals to produce curvilinear motion

ABSTRACT

A system for producing orthogonal control signals for display or tool control purposes. The orthogonal control signals are generated in response to received point and slope data for each of a plurality of curve sections. The generated control signals produce curve strokes which are a variable geometric portion of an ellipse that is constrained by the received point and slope data. In generating the orthogonal control signals a set of four parameters are generated as intermediate controls. The four parameters are readily transformed to produce rotation, scaling or other operations, or are economically stored in memory as part of an instruction set for producing general or predetermined characters, symbols and graphic images from linked curve sections. A sequence of curve sections may be pieced together with smooth transitions free of slope discontinuities.

United States Patent 1191 Villalobos et a1.

[ SYSTEM FOR GENERATING ORTHOGONAL CONTROL SIGNALS TO PRODUCE CURVILINEAR MOTION [73] Assignee: Hughes Aircraft Company, Culver City, Calif.

22 Filed: May 16, 1972 211 App]. No.: 253,891

Related US. Application Data [63] Continuation-impart of Ser. No. 106,108, Jan. 13,

52 u.s.c1. ..23s/1s1,340/324A 51 1111.01; 11011 29/70 [58] Field of Search .1 235/151, 197,198, 150.53;

1451 May 7, 1974 3,422,305 1/1969 lnfante....' 315/276 D 3,519,876 7/1970 Murray 340/324 A x 3,539,860 11/1970 Max 315/22 Primary Examiner-Joseph F. Ruggiero Attorney, Agent, or FirmW. H. MacAllister; Walter J. Adam ABSTRACT A system for producing orthogonal control signals for display or tool control purposes. The orthogonal control signals are generated in response to received point and slope data for each of a plurality of curve sections. The generated control signals produce curve strokes which are a variable geometric portion of an ellipse that is constrained by the received point and slope data. In generating the orthogonal control signals a set of four parameters are generated as interme diate controls. The four parameters are readily transformed to produce rotation, scaling or other operations, or are economically stored in memory as part of [56] References cued an instruction set for producing general or predeter- UNITED STATES PATENTS mined characters, symbols and graphic images from 3,476,974 11/1969 Turnage, Jr 340/324 A X linked curve sections. A sequence of curve sections 3,488,483 1/1970 Freedman 340/324 A X may be pieced together with smooth transitions free of 3,205,349 9/1965 Bryan 1 235/151 X slope discontinuities, 3.283.317 11/1966 Courter 340/324 A 3 335,416 8/1967 Hughes 340/324 A 31 Claims, 24 Drawing Figures Es'1 L AY oR coTiT Ro L T 2 l I I XY 1 X0 I 9 c RT INPUT J L 28 30 ($535355 POINTS SLOPES DATA K F NCTI l 2 l D, 1 1 0 ON 1 PO'NT ANGLES AND k 1 WA CON V R TER MOlIl 1 'OR I SLOPE CONTROL CONVERTER GENERATOR 20 4 REGISTERS M ENABLE J I ETC) YO I I 1 I l 34 l 1 l I I 38 I l f l INCREMENTAL l 1 PLOTTER l I l I NUMERICALLY CONTROLLED TOOL SYSTEM l L l PATENTEDIM YISII 3 993 sum 02 HF 17 50 PO x0! x0 52 Yo 9 /64 J 54 SUM 74 YI I SUM K 68 H! P we I/GZ 'iUM SUM 56 XI 0 N 58 MUL SUM M 808 66 DIV (0) 76 78 Fig 3 SUM -72 1 L70 MUL L 60 SIC) I x0 9 J l 9 P94 MULTIPLY 2: PHASE M SWITCH: DET 80 22 K MULTIP Y L. 7 STOP I S.F.G. L82 88. START SIGNAL rT.c A90 DISPLAY 9 C.F.G. L 90 M MULTIPLY 7 L .VELOCITY 84 CONTROL 1 SUM I02 7 L I MULTIPLY YO 2G) X(t) W) Y I MARK 7 MARK INHIBIT NICO INHIBIT FIG.4

SHEU 030? 17 PATENTEDIAY 7 I974 -ATENTED MAY 71914 SHEET ounr 17 Lu 2 o FIG. 5-

PATENTEUIAY 1 i974 I sum 05 or 11 w: mm-

P nm 71974 f 3,809,888

sum 05 0F 17 MINUS- ONE FIG. 7

9ATENTEDMAY 7 19m sum as or 17 Pmmwmm PATENTEUMAY 7 I974 .suw 120f17 FATENTED IIAY 7 I974 SHEET 16 [IF I? GET INITIAL SLOPE GET THREE POINTS v 580 INITIALIZE I ELIMINATE LAST TWO POINTS AND GET TWO NEW ONES sIo FIG. I9

' FORMAT DATA FOR DISPLAY GOO GET FINAL SLOPE .S| 602 X3 XI Y3-YI 5 soA-e SI-S COMPUTE A=XIXO B=YIYO PATENTED m 7 1914 saw 11 w 17 NEW m oww 4m 1 t SYSTEM FOR GENERATING ORTHOGONAL CONTROL SIGNALS T PRODUCE CURVILINEAR MOTION CROSS REFERENCE TO RELATED APPLICATION This application isa continuation-in-part of our copending United States patent application Ser. No. 106,108 for DISPLAY SYSTEM filed Jan. 13, 1971.

FIELD OF THE INVENTION This invention relates to systems for generating orthogonally'r'eacting control signals for application to a display or tool controller and in particular relates to a system for generating control signals which react to produce elliptical motion.

BACKGROUND OF THE INVENTION As indicated in our above-referencec copending United States patent application of the electronic display'system providing, for example,on the surface of ther case provide for rapid generation of the control a cathode-ray-tube a controllable series of characters and graphical representations is an impressively useful tool in information processing or system design applications. See, for example, United States patents of Bryan et al, US. Pat. No. 3,205,349 or Turnage et al, US. Pat. No. 3,476,974. Additionally, physical tools such as lasers employed in the garment industry to cut sections of cloth according to predetermined patterns can be programmed to respond toIthe control signals similar to those employed in display systems to control the motion of the laser or other physical too] involved. The many complex motions, point sequences or display strokes which are needed in these applications involve repetitive generation of a series of control signals for application to the ultimate display or tool controller and thus often result in an extremely complex and time consuming series of steps and calculations in the processing electronics employed for their generation. Even so, the resulting control signals often produce motions which do not satisfactorily approximate the desired trajectories.

Moreover, if manipulations are required between receipt of the specifying parameters and the final generation of the orthogonal controlsignals, prior art systems have required that the transformed orthogonal control signals be produced by starting from the original specifying input data, and thus enormously complicate the transformation operation. Also, transformations, such as rotations, will alter the control signals in undesired ways. Thus general curve transformations have been unavialable in prior art systems. Additionally, the generation of linkedcurve sections joined at points where the slopes are equal has not previously been possible.

BRIEF SUMMARY OF THE INVENTION The design of the present invention provides for the generation of orthogonally reacting control signals to control a display or mechanical tool system in accor-' uniquely to'fit the input sepcifications of points and slopes. The generation of control signals can be accomplished through either stored program computer conmore fully described below in a detailed'descriptionof signals with a minimum of generator components or computer time, particularly important when a plurality of sections must be constructed in rapid sequence;

The generation of the control signals from the input point and slope specifications is accomplished in two steps, a first step, governed by one of several tranformations, depending upon different ways of specifying the input constraints, produces four intermediate control parameters which are then applied to a function generator where the four parameters are employed to scale quadrature phased, time varying, quarter cycle, sinusoidal signals/The scaled signals are then combined in pairs to produce the orthogonal control signals and, additional offset and initial position signals are combined with the paired time varying signals to provide appropriate placement of the initial point for each stroke of the elliptical curve sections. Where transformations, such as rotations, on the ultimately produced strokes of elliptical curve sections are desired, these are easily accomplished through predetermined scaling operations on the four intermediate parameters without the requirement for recalculation from the original input point and slope specifications. Rotations and other similar transformations do not vary the curve shape since the parameters are not required to be recalculated from the starting point and slope data.

In addition to savings in computing time and display speed the present invention-is able to produce complex and most commonly used shapes from a minimum of strokes by employing the flexibility of elliptical curve sections. which are, in turn, each specified by four intermediate parameters. The intermediate parameter approach permits predetermined characters, symbols and graphics to be stored in very small memory areas permitting an extremely large repertory of predetermined figures which may be called up for display or tool control by simply specifying a memory address without the need for recalculation of a series of intermediate control parameters for the function generator. Additionally, by appropriate selection of type of point and slope input data, linked curves can be generated with smooth transitions between adjacent sections. Moreover, by controlling the order in which input point data is specitied, the cruve sections are generated in either of the two possible directions to furtherincrease system flexibility. I

BRIEF DESCRIPTION OF THE DRAWINGS These and other features of the-invention will be the preferred embodiment presented for purposes of illustration, and notby way of limitation, and in the accompanying figures. of which:

FIG. 1 is a block diagram of basic functional compo- I nents employed in the invention;

FIG. 2 is a graph useful in describing the principles of the invention;

FIGS. 3 and 58 illustrate circuit diagrams for different conversions available for input data as employed in FIG. 1;

FIGS. 4 and 4A show circuitry for one implementation of a function generator for usein FIG. 1;

FIGS. 9 and 10 illustrate circuitry for an alternative version of a function generator for use in FIG. 1;

FIG. 11 presents a basic functional diagram of additional features of the invention;

FIGS. 12-16 illustrate circuitry to provide different transformations which may be employed in the system of FIG. 11;

FIGS. 12A, 13A, 14A and 15A present algebraic statements of the transformation of the corresponding circuitry Figures;

FIG. 17 illustrates a system for generating preselected symbols, characters and graphics from stored instruction sets;

FIG. 18 illustrates circuitry for operation of the invention in accordance with stored program computer control;

FIG. 19 presents a flow chart describing the programming for use in FIG. 18 in generating linked sections; and

FIG. 20 presents a three-dimensional rotation implementation for the invention.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT Referring now to FIG. 1 the basic functional parts of the display or tool control system according to the present invention can be understood to establish perspective for more detailed descriptions of the structure of each part. Since a part of what is described below is presented in our above-referenced copending United States patent application, there will be some similarities between this case and that presented before. There has been, however, during the evolution of this design a change of notation which is reflected in the equations of FIG. 1A. These provide the correspondence between parameters employed in the present application and those of the previous case. With specific reference now to FIG. 1, an input source 12 such as a keyboard or a set of registers for point and slope data is provided from which one or more sets of point and slope information is provided to a data converter 14. The data converter 14 is programmed by hard wired interconnection of a plurality of digital modules as will be explained below. or through software commands in a computer as will also be more fully described below. The converter 14 responds to the point and slope input information from source 12 to provide a plurality of output parameter signals to a function generator 16. The output parameters include initial points in. orthogonal X and Y coordinates (X0 and Y0) for each curve section to be generated as well as four additional pa rameters labeled with thenotation J, K, L and M which define each stroke. The function generator 16 receives the initial point coordinates and the four parameters (J, K, L and M) and employs them to scale quadrature phased sinusoidal signals according to a predetermined relationship. The resulting scaled signals are then summed in pairs with one of the parameters and with the initial point coordinates to produce corresponding orthogonally reacting, time varying control signals labeled as X(t) and Y(t) on lines 18 and 20. The output control signals are applied to a display or other utilization device 22.

The X and Y control signals from the generator 16 may be in digital or analog form and in the former will be converted to analog form by a digital-to-analog converter 24 for use by analog inputs of such display devices as an X-Y cathode-ray-tube 26, scan converter 28 and associated television monitor 30, direct view storage tube 32, or X-Y plotter 34. An enabled signal is provided to a blanking circuit 36 which causes marking by the displays only during the selected portion of a cycle of the quadrature phased-sinusoidal signals. In other embodiments the X and Y control signal outputs of the generator 16 are in digital incremental form wherein each pulse output represents a predetermined positioning change for the display or other utilization device 22. The incremental pulse signals are ideally suited for application to an incremental digital plotter 38 or numerically controlled tool system 40.

A significant factor in the efficiency of the present system is the use of selected portion of an ellipse approach. By reference now to FIG. 2 the mathematical transformations of the data converter 14 which create this efficiency can be more easily understood. In FIG. 2 a curve section 42 is to be displayed or a tool system is to be governed by the motion represented by that curve. The curve will be specified from the input source 12 in the typical case by a set of points or points and slopes along the curve 42. For exemplary purposes in the present patent application five cases are presented of different combinations of points and slopes including: (I) beginning and ending points (P0 and P1) and the curve slopes, (S0 and 81) respectively; (2) three points (P0, P1 and P3) and the slope at the initial point (S0); (3) three points (P0, P1 and P3) and the slope at the ending point (S1); (4) three points (P0, P1 and P3) and the slope of the intermediate point (S3); and (5) beginning and ending points (P0 and P1) and the position of a point (P2) on the curve between be ginning and ending points at a position which is the greatest distance from a straight line joiningthe beginning and ending points.

The data converter 14 accepts point and slope information for any of these five cases and provides electrical output signals representative of the coordinates of the beginning point P0 (X0, Y0) and four intermediate parameters J, K, L and M which specify the curve on the basis of a quarter cycle ellipse. The mathematics which govern this conversion in the five cases is presented below.

CASE I OUTPUT: 

1. A system for providing X and Y orthogonal control signals comprising: means for receiving point and slope data representative of strokes to be executed under the control of said X and Y control signals; means responsive to said received data for developing a set of four control paRameters: means for generating a set of quadrature phased sinusoidally varying signals scaled in accordance with the values of said control parameters to provide a set of four scaled sinusoidally varying signals; means for causing said four sinusoidally varying signals to be generated for a selected portion of a cycle; means for combining said four time varying signals in pairs to produce said X and Y function control signals; and said means for developing said four control parameters from said received point and slope data being operative to develop said parameters according to a predetermined transformation which defines said parameters as the coefficients of summed sine and cosine function signals that represent orthogonal coordinates of an elliptical stroke constrained by said received point and slope data.
 2. The system of claim 1 wherein said selected portion of a cycle is a quarter cycle.
 3. The system of claim 2 wherein: said received point and slope data represents the terminal point coordinates (X0, Y0; X1, Y1) and slopes (S0; S1) of a stroke; and said developing means is operative to provide a corresponding transformation on said received data to produce said set of four parameters (J, K, L, M).
 4. The system of claim 3 wherein the transformation of said developing means relates said four parameters to said received point and slope data according to the following equations: A X1-X0; B Y1-Y0 J ((SO)A-B)/(S1-S0) K A+J L (S1)J M B+L
 5. The system of claim 2 wherein: said received point and slope data represents the terminal point coordinates (X0, Y0; X1, Y1) and the coordinates of an intermediate point (X3, Y3) for a stroke and the slope (S0, S1, S3) of one of the three points; and said developing means is operative to provide a corresponding transformation on said received data to produce said set of four parameters (J, K, L, M).
 6. The system of claim 5 wherein the transformation of said dveloping means relates said four parameters to said received point and slope information according to the following equations: A X1-X0; B Y1-Y0 C X1-X3; D Y1-Y3 E ((S0)C-D)/((S1)A-B); F Square Root 1- (E)(E) K (AE-C)/(E+F-1) J K-A M (SO)K L M-B
 7. The system of claim 5 wherein the transformation of said developing means relates said four parameters to said received point and slope information according to the following equations: A X1-X0; B Y1-Y0 C X3-X0; D Y3-Y0 E ((S1)C-D)/((S1)A-B); F Square Root 1-(E)(E) K ((X3-X1)+AF)/(E+F-1) J K-A L (S1)J M L+B
 8. The system of claim 5 wherein the transformation of said developing means relates said four parameters to said received point and slope information according to the following equations: A X1-Y0; B Y1-Y0 C X3-X0; D Y3-Y0 H X3-X1; I Y3-Y1 G ((S3)C-D)/((S3)H-1); E (1+G( Square Root 2G-1))/( 1+(G)(G)) F Square Root 1-(E)(E) J (C-AF)/(E+F-1) k J+A L (D-BF)/(E+F-1) M L+B
 9. The system of claim 2 wherein; said received point and slope data represents the terminal point coordinates (X0, Y0; X1, Y1) of a stroke and a third intermediate point (X2, Y2) at the maximum displacement from a straight line between the terminal points; and said developing means is operative to provide a corresponding transformation on said received data to produce said set of four parameters (J, K, L, M).
 10. The system of claim 9 wherein the transformation of said developing means relates said four parameters to said received point and slope data according to the following equations: A X1-XO; B Y1-YO C X2-X0; D Y2-YO R 1/ Square Root 2; T 1/( Square Root 2- 1) J (C-AR)T K J+A L (D-BR)I M L+B
 11. The system of claim 1 further including: controllable marking means responsive to said X and Y control signals for providing in viewable form a curve section representative thereof; means for establishing magnitude limits to said X and Y control signals; means for detecting when said control signals exceed said limits; and means for inhibiting marking by said controllable marking means in response to detection of said control signals exceeding said limits.
 12. The system of claim 11 further including: means for controlling the rate of variation of said X and Y control signals; and means operative in response to detection of said control signals exceeding said limits for increasing the rate of variation of said X and Y control signals.
 13. A system for providing X and Y orthogonal control signals comprising: means for producing four parameters to represent input data; means for storing values representing the sine and cosine functions for predetermined portions of a cycle; controllable means for retreiving said stored values to provide sine and cosine signals; means controlled by first and second ones of said four parameters for providing first and second output signals representing said sine signal adjusted according to the value of said first and second parameters; means controlled by third and fourth ones of said four parameters for providing third and fourth output signals representing said cosine signal adjusted according the value of said third and fourth parameters; first means for developing said X control signal to represent a combination of said first and third output signals; and second means for developing said Y control signal to represent a combination of said second and fourth output signals.
 14. The system of claim 13 wherein said means for providing said first, second, third, and fourth output signals include binary rate multipliers having sequences of elemental signals as outputs.
 15. The system of claim 14 wherein: said means are provided for detecting the quadrant represented by said sine and cosine signals; means are provided for detecting the sign of said first and third parameters; said first developing means includes means responsive to the detected quadrant and detected sign of said first and third parameters for identifying each elemental signal in said X control signal as an increasing or decreasing elemental change; means are provided for detecting the sign of said second and fourth parameters; and said second developing means includes means responsive to the detected quadrant and detected sign of said second and fourth parameters for identifying each elemental signal in said Y control signal as an increasing or decreasing elemental change.
 16. The system of claim 14 further including means for controlling the rate of generation of said elemental signals to provide regulation in the rate of change of said X and Y control signals.
 17. The system of claim 16 wherein: a source of clock signals is provided; said controllable means includes first and second binary rate multipliers responsive to said stored values and said clock signals to provide a series of elemental signals as said sine and cosine signals; and said controllable means is operative to inhibit said clock signals for a predetermined interval after each elemental signal in said first, second, third and fourth output sequence.
 18. The system of claim 13 further including: means responsive to said X and Y control signals for moving a part; and means for controlling the generation of said sine and cosine signals to limit accelerations of said part represented by said X and Y control signals.
 19. A system foR producing X and y orthogonal control signals representing a curve section in response to input data including curve terminations and operative to provide predetermined transformations to said control signals, said system comprising: means for receiving said input data; means responsive to said received input data for developing a set of plural control parameters; means responsive to said control parameters for producing a set of transformed control parameters to represent a predetermined manipulation on said curve section as realized by a direct alteration on said control parameters and without introducing distortions to said curve section other than said predetermined manipulations; means for generating a set of sinusoidally varying signals scaled in response to said transformed control parameters; and means for combining said scaled, sinusoidally varying signals to provide said X and Y orthogonal control signals.
 20. The system of claim 19 wherein said predetermined manipulation is a rotation by a selected angle about an axis orthogonal to the plane of said X and Y control signals.
 21. The system of claim 20 wherein said producing means is operative to provide each parameter of said set of transformed parameters as the combination of two of said control parameters scaled by a trigonometric function of said selected angle.
 22. The system of claim 19 wherein said producing means includes means for providing a rotation in a space described by more than two dimensions.
 23. The system of claim 22 wherein: said set of control parameters includes additional parameters to represent one or more dimensions other than the X and Y dimensions; said transformed parameter producing means is operative in response to said set of control parameters including said additional parameters to provide transformed control parameters representing a rotation about an axis other than the axis orthogonal to the plane of said X and Y control signals; said generating means is responsive to said set of transformed control parameters including said additional transformed parameters to provide said scaled sinusoidally varying signals including further sinusoidally varying signals scaled in response to said additional transformed parameters; and said combining means is operative to provide additional orthogonal control signals as combinations of said further scaled, sinusoidally varying signals.
 24. The system of claim 23 wherein said transformed parameter producing means include: a plurality of means each responsive to one of a plurality of selected angles of rotation to provide a corresponding transformation on a portion of said set of control parameters; and means for providing sequential operation of said plurality of means to produce said transformed control parameters.
 25. The system of claim 19 wherein said producing means is operative to produce right angle rotations and reflections as the manipulations of said curve section.
 26. The system of claim 25 wherein said producing means further includes means for providing as said transformed parameters, predetermined combinations of said control parameters and the negative of said control parameters.
 27. The system of claim 19 wherein said producing means includes means for scaling said control parameters to alter the size of said curve section.
 28. The system of claim 19 wherein: said control parameters include initial point corrdinates; and said producing means includes means for adding first and second offset constants to said intial point coordinates.
 29. A system for generating orthogonal X and Y control signals to represent predetermined strokes, said system including: addressable means for storing a plurality of instruction sets; each of said instruction sets including one or more sets of generally different parameters; means for generating a plurality of sinusoidally varying signals scaled in response to a set of parameters; means for responding sequentially to each stored set of parameters for application of each set of parameters to said generating means; and means for combining each sequence of generated scaled sinusoidally varying signals to provide the X and Y control signals for each of said predetermined strokes.
 30. The system of claim 29 wherein: means are provided for reducing the scale of each sequential set of parameters before application to said generating means; and said stored parameters are stored in augmented scale to provide a greater number of terminal points available for each of said predetermined strokes.
 31. A system for generating X and Y orthogonal control signals to represent linked curve sections having smooth transitions comprising: means for receiving data representing points on said curve sections; means responsive to received data for developing a set of control parameters; means for generating for a selected portion of a cycle a plurality of sinusoidally varying signals scaled in response to said set of paramters; means for combining said scaled sinusoidally varying signals to provide said X and Y orthogonal control signals; means for determining the relative variations in said X and Y control signals at the terminal point of said X and Y control signals for each selected portion of a cycle; and means responsive to further received data and said determined relative variation for developing a further set of control parameters for a subsequent set of X and Y control signals for an adjacent curve section having an initial relative slope matching the slope of the terminal point of the preceeding curve section. 